var THEME = new function() { this.view = 1; //1 => details, 2 => small icons, 3 => large icons, 4=> thumbnails this.shares = new Array(); this.previewPane = true; this.selected = false; this.selectedPath = false; this.selectedName = false; this.selectedType = false; this.dcnt = 0; this.fcnt = 0; this.uploadStack = 0; // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // winLoad - fix heights on page load. this.winLoad = function(e){ //fix heights. THEME.fixHeights(); //apply events to menu items YAHOO.util.Event.addListener('login_link','click',THEME.showLogin); YAHOO.util.Event.addListener('logout_link','click',THEME.logout); YAHOO.util.Event.addListener('views_link','click',THEME.showViews); YAHOO.util.Event.addListener('fileops_link','click',THEME.showFileOps); YAHOO.util.Event.addListener('admin_link','click',THEME.showAdmin); YAHOO.util.Event.addListener('upload_link','click',THEME.showUpload); //and hide menu items when needed YAHOO.util.Event.addListener('wrapper','click',THEME.hideLogin); YAHOO.util.Event.addListener('wrapper','click',THEME.hideViews); YAHOO.util.Event.addListener('wrapper','click',THEME.hideShares); YAHOO.util.Event.addListener('wrapper','click',THEME.hideFileOps); YAHOO.util.Event.addListener('wrapper','click',THEME.hideAdmin); } //end winLoad // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // fixHeights - fix heights on page load. this.fixHeights = function(e){ //get height of viewport, and make main adjust to that height. var h=YAHOO.util.Dom.getViewportHeight(); if(xGetElementById('main')){ //adjust height of Main xHeight('main',(h-93)); //adjust height of main_content xHeight('main_content',(xHeight('main')-21)); //and preview pane xHeight('preview_pane',(xHeight('main')-21)); xHeight('preview_pane_container',(xHeight('main')-21)); //last step, get height of main_content, and match main_left and main_right. if(xGetElementById('main_left')){ xHeight('main_left',xHeight('main')); } if(xGetElementById('main_right')){ xHeight('main_right',xHeight('main')); } } } //end fixHeights // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showMLoad - shows main loading screen. this.showMLoad = function(){ //make the div! var l=document.createElement('div'); l.id='main_loading'; YAHOO.util.Dom.setStyle(l,'opacity',0); xGetElementById('main').appendChild(l); YAHOO.util.Event.onAvailable('main_loading',function(){ YAHOO.util.Dom.setStyle('main_loading','top',(((xHeight('main')/2)-10)*0.7)+'px'); // 56 * 21 YAHOO.util.Dom.setStyle('main_loading','left',((xWidth('main')/2)-27)+'px'); var anim = new YAHOO.util.Anim('main_loading',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); var anim2 = new YAHOO.util.Anim('main_content',{opacity:{to:0}},.2,YAHOO.util.Easing.easeIn); anim2.animate(); var anim3 = new YAHOO.util.Anim('preview_pane',{opacity:{to:0}},.2,YAHOO.util.Easing.easeIn); anim3.animate(); }); } //showMLoad // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideMLoad - shows main loading screen. this.hideMLoad = function(){ if(xGetElementById('main_loading')){ var anim = new YAHOO.util.Anim('main_loading',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('main_loading'); }); anim.animate(); var anim2 = new YAHOO.util.Anim('main_content',{opacity:{to:1}},.2,YAHOO.util.Easing.easeIn); anim2.animate(); var anim3 = new YAHOO.util.Anim('preview_pane',{opacity:{to:1}},.2,YAHOO.util.Easing.easeIn); anim3.animate(); } } //hideMLoad // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showPreviewLoading this.showPreviewLoading = function(){ //make the div! var l=document.createElement('div'); l.id='preview_loading'; YAHOO.util.Dom.setStyle(l,'opacity',0); xGetElementById('preview_pane').appendChild(l); YAHOO.util.Event.onAvailable('preview_loading',function(){ YAHOO.util.Dom.setStyle('preview_loading','top',(((xHeight('preview_pane')/2)-10)*0.7)+'px'); // 56 * 21 YAHOO.util.Dom.setStyle('preview_loading','left',((xWidth('preview_pane')/2)-27)+'px'); var anim = new YAHOO.util.Anim('preview_loading',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); var anim2 = new YAHOO.util.Anim('preview_pane_container',{opacity:{to:0}},.2,YAHOO.util.Easing.easeIn); anim2.animate(); }); } //showPreviewLoading // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hidePreviewLoading this.hidePreviewLoading = function(){ if(xGetElementById('preview_loading')){ var anim = new YAHOO.util.Anim('preview_loading',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('preview_loading'); }); anim.animate(); var anim2 = new YAHOO.util.Anim('preview_pane_container',{opacity:{to:1}},.2,YAHOO.util.Easing.easeIn); anim2.animate(); } } //hidePreviewLoading // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // loggedInText - shows 'Logged In as' or 'Not Logged In' this.loggedInText = function(t){ if(!t || t.trim().length == 0){ var t = ' '; } //get foot_left if(xGetElementById('foot_left')){ xInnerHtml('foot_left','

'+t+'

'); } } //end loggedInText // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showLogin this.showLogin = function(e){ if(xGetElementById('login_box')){ //hide it THEME.hideLogin(); } else { THEME.hideViews(); THEME.hideShares(); THEME.hideFileOps(); addClassName('login_link','selected'); var l=document.createElement('div'); l.id='login_box'; //get left of #login_link and adjust box to show there too. var x = YAHOO.util.Dom.getX('login_link'); YAHOO.util.Dom.setStyle(l,'left',(x-4)+'px'); xInnerHtml(l,'

:

:

'); //YAHOO.util.Dom.setStyle(l,'width','0'); //YAHOO.util.Dom.setStyle(l,'height','0'); YAHOO.util.Dom.setStyle(l,'opacity','0'); xGetElementById('wrapper').appendChild(l); YAHOO.util.Event.onAvailable('login_box',function(){ YAHOO.util.Event.addListener('login_box','click',THEME.discard); YAHOO.util.Event.addListener('login_submit','click',THEME.login); var anim = new YAHOO.util.Anim('login_box',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); }); } if(e){ THEME.discard(e); } } //end showLogin // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // login this.login = function(e){ //check if fields have been entered var u = xGetElementById('login_username').value; var p = xGetElementById('login_password').value; if (u.trim().length==0){ var err=''; } else if(p.length==0){ var err=''; } if(err){ THEME.showError(err); } else { //show waiting screen THEME.showMLoad(); AFB.tryLogin(u,p); } THEME.hideLogin(); } //end login // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // logout this.logout = function(e){ //show waiting screen THEME.showMLoad(); AFB.tryLogout(); } //end logout // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideLogin this.hideLogin = function(e){ if(xGetElementById('login_box')){ removeClassName('login_link','selected'); //var anim = new YAHOO.util.Anim('login_box',{width:{to:0},height:{to:0}},.2,YAHOO.util.Easing.easeOut); var anim = new YAHOO.util.Anim('login_box',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('login_box'); }); anim.animate(); } } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showShares this.showShares = function(e){ if(xGetElementById('shares_box')){ //hide it THEME.hideShares(); } else { THEME.hideViews(); THEME.hideLogin(); THEME.hideFileOps(); if (THEME.shares.length > 16) { //more than 16 shares, show a selection box. //show error bg var ae=document.createElement('div'); ae.id='app_error'; //set opacity YAHOO.util.Dom.setStyle(ae,'opacity',.7); //set dimensions. YAHOO.util.Dom.setStyle(ae,'width',YAHOO.util.Dom.getViewportWidth()+'px'); YAHOO.util.Dom.setStyle(ae,'height',YAHOO.util.Dom.getViewportHeight()+'px'); //show error text var et=document.createElement('div'); et.id='app_upload_box'; //set opacity YAHOO.util.Dom.setStyle(et,'opacity',0); //set dimensions. YAHOO.util.Dom.setStyle(et,'left',((YAHOO.util.Dom.getViewportWidth() / 2) - 192)+'px'); YAHOO.util.Dom.setStyle(et,'top',(((YAHOO.util.Dom.getViewportHeight() / 2) - 200) * 0.8)+'px'); //p var h = ''; var lst = new Array(); //array of link id's for events below for(var i=0;i'+THEME.shares[i][1]+''; lst[lst.length] = 'share_link_'+THEME.shares[i][0]; } xInnerHtml(et,'

'); //apend! xGetElementById('body').appendChild(ae); xGetElementById('body').appendChild(et); //anim YAHOO.util.Event.onAvailable('app_upload_box',function(){ var anim = new YAHOO.util.Anim('app_upload_box',{opacity:{to:1}},.3,YAHOO.util.Easing.easeOut); anim.animate(); YAHOO.util.Event.addListener(lst,'click',THEME.changeShare); YAHOO.util.Event.addListener(lst,'click',THEME.hideShares); //YAHOO.util.Event.addListener('app_upload_box','click',THEME.hideError); //YAHOO.util.Event.addListener('app_error','click',THEME.hideError); }); } else { //16 shares or less. addClassName('shares_link','selected'); var l=document.createElement('div'); l.id='shares_box'; //get left of #shares_link and adjust box to show there too. var x = YAHOO.util.Dom.getX('shares_link'); YAHOO.util.Dom.setStyle(l,'left',(x-4)+'px'); var h = ''; xInnerHtml(l,'
'+h+'
'); YAHOO.util.Dom.setStyle(l,'opacity','0'); xGetElementById('wrapper').appendChild(l); YAHOO.util.Event.onAvailable('shares_box',function(){ YAHOO.util.Event.addListener('shares_box','click',THEME.discard); YAHOO.util.Event.addListener(lst,'click',THEME.changeShare); var anim = new YAHOO.util.Anim('shares_box',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); }); } } if(e){ THEME.discard(e); } } //end showShares // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideShares this.hideShares = function(e){ if(xGetElementById('shares_box')){ removeClassName('shares_link','selected'); //var anim = new YAHOO.util.Anim('views_box',{width:{to:0},height:{to:0}},.2,YAHOO.util.Easing.easeOut); var anim = new YAHOO.util.Anim('shares_box',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('shares_box'); }); anim.animate(); }else if(xGetElementById('app_upload_box')){ var anim = new YAHOO.util.Anim('app_upload_box',{opacity:{to:0}},.3,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('app_error'); destroyElm('app_upload_box'); }); anim.animate(); //stop any propegation. if (e){ THEME.discard(e); } } } //end hideShares // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showViews this.showViews = function(e){ if(xGetElementById('views_box')){ //hide it THEME.hideViews(); } else { THEME.hideLogin(); THEME.hideShares(); THEME.hideFileOps(); addClassName('views_link','selected'); var l=document.createElement('div'); l.id='views_box'; //get left of #views_link and adjust box to show there too. var x = YAHOO.util.Dom.getX('views_link'); YAHOO.util.Dom.setStyle(l,'left',(x-4)+'px'); var pp = ''; if (xGetElementById('preview_pane').style.display != 'block'){ pp = '
  • '; } xInnerHtml(l,'
    '); //YAHOO.util.Dom.setStyle(l,'width','0'); //YAHOO.util.Dom.setStyle(l,'height','0'); YAHOO.util.Dom.setStyle(l,'opacity','0'); xGetElementById('wrapper').appendChild(l); YAHOO.util.Event.onAvailable('views_box',function(){ YAHOO.util.Event.addListener('views_box','click',THEME.discard); YAHOO.util.Event.addListener('v_pp','click',THEME.showPreviewPane); YAHOO.util.Event.addListener('cv_si','click',function(){THEME.changeView(2);}); YAHOO.util.Event.addListener('cv_li','click',function(){THEME.changeView(3);}); YAHOO.util.Event.addListener('cv_d','click',function(){THEME.changeView(1);}); YAHOO.util.Event.addListener('cv_t','click',function(){THEME.changeView(4);}); var anim = new YAHOO.util.Anim('views_box',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); }); } if(e){ THEME.discard(e); } } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideViews this.hideViews = function(e){ if(xGetElementById('views_box')){ removeClassName('views_link','selected'); //var anim = new YAHOO.util.Anim('views_box',{width:{to:0},height:{to:0}},.2,YAHOO.util.Easing.easeOut); var anim = new YAHOO.util.Anim('views_box',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('views_box'); }); anim.animate(); } } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // changeView this.changeView = function(i){ THEME.hideViews(); THEME.view = i; removeClassName('main_content','view_details'); removeClassName('main_content','view_large'); removeClassName('main_content','view_small'); removeClassName('main_content','view_thumbnails'); if (i==3){ addClassName('main_content','view_large'); THEME.unloadThumbnails(); }else if (i==2){ addClassName('main_content','view_small'); THEME.unloadThumbnails(); }else if (i==4){ addClassName('main_content','view_thumbnails'); setTimeout(THEME.loadThumbnails,100); }else{ addClassName('main_content','view_details'); THEME.unloadThumbnails(); } } //end changeView // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // discard - stops events this.discard = function(e){ YAHOO.util.Event.stopEvent(e); } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showError this.showError = function(msg,fn){ //fn not implemented if(msg.length > 0){ //show error bg var ae=document.createElement('div'); ae.id='app_error'; //set opacity YAHOO.util.Dom.setStyle(ae,'opacity',.7); //set dimensions. YAHOO.util.Dom.setStyle(ae,'width',YAHOO.util.Dom.getViewportWidth()+'px'); YAHOO.util.Dom.setStyle(ae,'height',YAHOO.util.Dom.getViewportHeight()+'px'); //show error text var et=document.createElement('div'); et.id='app_error_text'; //set opacity YAHOO.util.Dom.setStyle(et,'opacity',0); //set dimensions. YAHOO.util.Dom.setStyle(et,'left',((YAHOO.util.Dom.getViewportWidth() / 2) - 192)+'px'); YAHOO.util.Dom.setStyle(et,'top',(((YAHOO.util.Dom.getViewportHeight() / 2) - 20) * 0.8)+'px'); //p xInnerHtml(et,'

    '+msg+'

    '); //apend! xGetElementById('body').appendChild(ae); xGetElementById('body').appendChild(et); //anim YAHOO.util.Event.onAvailable('app_error_text',function(){ var anim = new YAHOO.util.Anim('app_error_text',{opacity:{to:1}},.3,YAHOO.util.Easing.easeOut); anim.animate(); YAHOO.util.Event.addListener('app_error_text','click',THEME.hideError); YAHOO.util.Event.addListener('app_error','click',THEME.hideError); }); } } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideError this.hideError = function(e){ var anim = new YAHOO.util.Anim('app_error_text',{opacity:{to:0}},.3,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('app_error'); destroyElm('app_error_text'); }); anim.animate(); //stop any propegation. THEME.discard(e); } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showPreviewPane this.showPreviewPane = function(h) { THEME.hideViews(); if (xGetElementById('preview_pane')){ if (h && typeof(h) == 'string'){ xInnerHtml('preview_pane_container',h); } YAHOO.util.Event.onAvailable('hide_pp',function(){ YAHOO.util.Event.addListener('hide_pp','click',THEME.hidePreviewPane); }); YAHOO.util.Dom.setStyle('preview_pane','display','block'); //anim if required var anim = new YAHOO.util.Anim('preview_pane',{width:{to:200}},.5,YAHOO.util.Easing.easeOut); anim.animate(); THEME.previewPane = true; } //end check } //end showPreviewPane // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hidePreviewPane this.hidePreviewPane = function() { if (xGetElementById('preview_pane')){ //anim if required var anim = new YAHOO.util.Anim('preview_pane',{width:{to:0}},.5,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ YAHOO.util.Dom.setStyle('preview_pane','display','none'); }); anim.animate(); THEME.previewPane = false; } //end check } //end hidePreviewPane // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // updateShareList this.updateShareList = function(srs) { THEME.shares = srs; //remove any listeners, and add our click listener to link. // we add this here so that when the page is loading, people don't // click it before we can populate it. YAHOO.util.Event.purgeElement('shares_link',false); YAHOO.util.Event.addListener('shares_link','click',THEME.showShares); } //end updateShareList // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // changeShare this.changeShare = function(e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (!elm){ THEME.hideShares(); return false; } //get rel tag from elm var id = elm.getAttribute('rel'); if(parseInt(id) > 0){ //show main loading screen THEME.showMLoad(); //send the job to AFB class AFB.loadShare(id); } //end id check THEME.hideShares(); } //end changeShare // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // loadShare - returned from AFB class, a result from THEME.changeShare this.loadShare = function(xml) { if (xml){ var dcnt = 0; var fcnt = 0; //get share var s = xml.getElementsByTagName('share')[0]; //share name var sname = xmlTag('name',s); //change header to share name. uid = getUniqueId(); var h = ''+sname+''; var ids = new Array(); ids[ids.length] = uid; //get breadcrumbs elements var bc = xml.getElementsByTagName('breadcrumb')[0]; if (bc){ var crumbs = xmlTags('crumb',bc); if (crumbs && crumbs.length > 0){ for (var i=0;i'+unescape(xmlTag('name',crumbs[i]))+''; ids[ids.length] = uid; } } } YAHOO.util.Event.addListener(ids,'click',THEME.getDir); THEME.mainTitle(h); //clear main area... removeChildrenFromNode('main_content'); //previewpane if(THEME.previewPane){ THEME.showPreviewPane(); } //create ul var u = document.createElement('ul'); u.id = 'share_listing'; //get dirs if (xml.getElementsByTagName('dirs') && xml.getElementsByTagName('dirs').length > 0){ var d = xml.getElementsByTagName('dirs')[0]; var dirs = xmlTags('dir',d); for(var i=0;i 0 && typeof(xmlTag('thumbnail',dirs[i])) != 'object'){ var img = '

    '+unescape(xmlTag('thumbnail',dirs[i]))+'

    '; } else { var img = ''; } xInnerHtml(li,img+'

    '+unescape(xmlTag('name',dirs[i]))+'

    '); THEME.addHoverEvents(li); u.appendChild(li); dcnt++; } } //get files if (xml.getElementsByTagName('files') && xml.getElementsByTagName('files').length > 0){ var f = xml.getElementsByTagName('files')[0]; var fls = xmlTags('file',f); for(var i=0;i 0 && typeof(xmlTag('category',fls[i])) != 'object'){ var cat = ' cat_'+unescape(xmlTag('category',fls[i])); } else { var cat = ' cat_file'; } li.className = 'file type_'+xmlTag('type',fls[i])+cat; li.id = xmlTag('unique',fls[i]); li.setAttribute('rel',xmlTag('fullpath',fls[i])); li.setAttribute('name',xmlTag('name',fls[i])); //check for img if (fls[i].getElementsByTagName('thumbnail') && fls[i].getElementsByTagName('thumbnail').length > 0 && typeof(xmlTag('thumbnail',fls[i])) != 'object'){ var img = '

    '+unescape(xmlTag('thumbnail',fls[i]))+'

    '; } else { var img = ''; } xInnerHtml(li,img+'

    '+unescape(xmlTag('name',fls[i]))+'

    '+unescape(xmlTag('type',fls[i]))+'

    '+xmlTag('size',fls[i])+'

    '); THEME.addHoverEvents(li); u.appendChild(li); fcnt++; } } THEME.dcnt = dcnt; THEME.fcnt = fcnt; //check if dir is empty if (dcnt == 0 && fcnt == 0){ //nothing in dir, maybe has no permissions or has no files. if (parseInt(xmlTag('perm_list',s)) == 1) { //no files in dir. xInnerHtml('main_content','

    '); } else if (parseInt(xmlTag('perm_write',s)) == 1) { //only allowed to upload. xInnerHtml('main_content','

    '); } } //show or hide upload link, depending on status. if (parseInt(xmlTag('perm_write',s)) == 1) { //show YAHOO.util.Dom.setStyle('upload_link','display','block'); } else { //hide YAHOO.util.Dom.setStyle('upload_link','display','none'); } //show views link YAHOO.util.Dom.setStyle('views_link','display','block'); //clear selected THEME.clearSelected(); if (typeof(xmlTag('perm_modify',s)) == 'string' && parseInt(xmlTag('perm_modify',s)) == 1) { //show YAHOO.util.Dom.setStyle('fileops_link','display','block'); } else { YAHOO.util.Dom.setStyle('fileops_link','display','none'); } xGetElementById('main_content').appendChild(u); THEME.doPreview(); } //hide main loading screen THEME.hideMLoad(); if (THEME.view == 4){ //load theme thumbnails setTimeout(THEME.loadThumbnails,100); } } //end loadShare // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //addHoverEvents - adds listeners for mouse hovers to an elm this.addHoverEvents = function(elm){ YAHOO.util.Event.addListener(elm,'mouseover',THEME.doAddHover); YAHOO.util.Event.addListener(elm,'mouseout',THEME.doHideHover); YAHOO.util.Event.addListener(elm,'click',THEME.doPreview); YAHOO.util.Event.addListener(elm,'dblclick',THEME.doOpen); } //end addHoverEvents // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // doAddHover this.doAddHover = function(e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (elm.nodeName.toLowerCase() !== 'li'){ elm = searchUp(elm,'li'); } addClassName(elm,'hover'); } //end doAddHover // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // doHideHover this.doHideHover = function(e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (elm.nodeName.toLowerCase() !== 'li'){ elm = searchUp(elm,'li'); } removeClassName(elm,'hover'); } //end doHideHover // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // doSelect - select the current item. this.doSelect = function(e){ if (e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (elm.nodeName.toLowerCase() != 'li'){ elm = searchUp(elm,'li'); } //unselect any previously selected item THEME.clearSelected(); //get id and path, var id = elm.id; var path = elm.getAttribute('rel'); var name = elm.getAttribute('name'); THEME.selected = id; THEME.selectedPath = unescape(path); THEME.selectedName = unescape(name); if (hasClassName(elm,'dir')){ THEME.selectedType = 'dir'; }else if(hasClassName(elm,'file')){ THEME.selectedType = 'file'; } addClassName(elm,'selected'); //get currentshare for (var i=0;i 0){ img = '<?php echo getLangTerm('preview'); ?>'; } else { var img = ' '; } xInnerHtml('preview_pane_container','
    '+img+'

    '+unescape(xmlTag('name',p))+'

    '+unescape(xmlTag('files',p))+' , '+unescape(xmlTag('dirs',p))+'

    '+xmlTag('size',p)+'

    '); }else if(t == 'file'){ //file var ext = xmlTag('ext',xml); if (ext && ext.length > 0){ ext = '

    '+unescape(ext)+' file

    '; } else { var ext = ''; } var size = xmlTag('size',xml); if (size && size.length > 0){ size = '

    '+size+'

    '; } else { var size = ''; } var img = xmlTag('img',xml); if (img && img.length > 0){ img = '<?php echo getLangTerm('preview'); ?>'; } else { var img = ' '; } var cat = xmlTag('category',xml); if (!cat || cat.length == 0 || typeof(cat) != 'string'){ var cat = 'file'; } var dl = xmlTag('download',xml); if (dl && dl.length > 0){ dl = '

    '; } else { var dl = ' '; } var dim = xmlTag('dimensions',xml); if (dim && dim.length > 0){ dim = '

    '+dim+'

    '; } else { var dim = ''; } xInnerHtml('preview_pane_container','
    '+img+'

    '+unescape(xmlTag('name',p))+'

    '+ext+dim+size+dl); }else{ xInnerHtml('preview_pane_container','

    '); } } else { xInnerHtml('preview_pane_container','

    '); } //hide loading thing. THEME.hidePreviewLoading(); } //end loadPreview // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // doOpen - open a dir or download this.doOpen = function(e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (elm.nodeName.toLowerCase() != 'li'){ elm = searchUp(elm,'li'); } //get rel attribute, var fp = elm.getAttribute('rel'); if (hasClassName(elm,'file')){ //file, download AFB.download(fp); } else if (hasClassName(elm,'dir')){ //dir, traverse THEME.getDir(fp); } } //end doOpen // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // getDir - load a dir this.getDir = function(path){ if (typeof(path) != 'string'){ //must have been called from an event var path = (path.srcElement) ? path.srcElement : path.target; path = path.getAttribute('rel'); } if (path && path.length > 0){ //show main loading screen THEME.showMLoad(); //send the job to AFB class AFB.loadShare(0,path); } } //end getDir // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // mainTitle - fixes memory leaks this.mainTitle = function(str){ if (str){ xInnerHtml('main_head','

    '+str+'

    '); } } // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showFileOps this.showFileOps = function(e){ if(xGetElementById('fileops_box')){ //hide it THEME.hideFileOps(); } else { THEME.hideLogin(); THEME.hideShares(); THEME.hideViews(); //get file permissions for (var i=0;i '+THEME.selectedName+'" onclick="THEME.renameSelected();THEME.hideFileOps();">'; h += '
  • '; } } else if (THEME.selectedType == 'file') { //file //check dl perms if (typeof(share[5]) == 'string' && parseInt(share[5]) == 1) { h += '
  • '; } //check modify perms if (typeof(share[6]) == 'string' && parseInt(share[6]) == 1) { h += '
  • '; h += '
  • '; } } //end type check if (typeof(share[6]) == 'string' && parseInt(share[6]) == 1) { h += '
  • '; } h += ''; xInnerHtml(l,'
    '+h+'
    '); YAHOO.util.Dom.setStyle(l,'opacity','0'); xGetElementById('wrapper').appendChild(l); YAHOO.util.Event.onAvailable('fileops_box',function(){ YAHOO.util.Event.addListener('fileops_box','click',THEME.discard); var anim = new YAHOO.util.Anim('fileops_box',{opacity:{to:1}},.2,YAHOO.util.Easing.easeOut); anim.animate(); }); } //end share check } else { THEME.clearSelected(); } if(e){ THEME.discard(e); } } } //end showFileOps // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideFileOps this.hideFileOps = function(e){ removeClassName('fileops_link','selected'); if(xGetElementById('fileops_box')){ var anim = new YAHOO.util.Anim('fileops_box',{opacity:{to:0}},.2,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('fileops_box'); }); anim.animate(); } } //end hideFileOps // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // createDir this.createDir = function(){ THEME.showDialog('','',' '); YAHOO.util.Event.onAvailable('dialog_box_1',function(){ jFocus('dialog_box_1'); }); } //end createDir // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // saveDir this.saveDir = function(elm){ if(typeof(elm) == 'string') { elm = xGetElementById(elm); } if (elm) { //check if data is empty var d = elm.value.trim(); if (d.length > 0){ //attempt to save AFB.saveDir(d); THEME.hideDialog(); THEME.showMLoad(); } } } //end saveDir // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // insertDir - returned from AFB class this.insertDir = function(xml){ //get ul var u = xGetElementById('share_listing'); var d = xml.getElementsByTagName('dir')[0]; if(u&&d) { //get dir details and append to UL. var li = document.createElement('li'); li.className = 'dir'; li.id = xmlTag('unique',d); li.setAttribute('rel',xmlTag('fullpath',d)); li.setAttribute('name',xmlTag('name',d)); xInnerHtml(li,'

    '+xmlTag('name',d)+'

    '); THEME.addHoverEvents(li); u.appendChild(li); THEME.addHoverEvents(li); } if (THEME.dcnt == 0 && THEME.fcnt==0){ THEME.getDir(AFB.currentPath); } THEME.hideMLoad(); } //end insertDir // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // deleteSelected this.deleteSelected = function(){ var h = ''; var b =''; if (THEME.selectedType == 'dir'){ h = ''; b = ''; } else if(THEME.selectedType == 'file') { //file h = ''; b = ''; } THEME.showDialog(h,b,' '); } //end deleteSelected // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // confirmDelete this.confirmDelete = function(){ AFB.deleteitem(THEME.selectedType,THEME.selectedPath); THEME.hideDialog(); THEME.showMLoad(); } //end confirmDelete // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // returnDelete - returned from AFB class this.returnDelete = function(xml){ //remove item from list if(xGetElementById(THEME.selected)){ xGetElementById(THEME.selected).parentNode.removeChild(xGetElementById(THEME.selected)); THEME.clearSelected(); } if (THEME.dcnt+THEME.fcnt == 1){ THEME.getDir(AFB.currentPath); } THEME.hideMLoad(); } //end returnDelete // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // renameSelected this.renameSelected = function(){ var h = ''; var b =''; if (THEME.selectedType == 'dir'){ h = ''; } else if(THEME.selectedType == 'file') { //file h = ''; } THEME.showDialog(h,'',' '); YAHOO.util.Event.onAvailable('dialog_box_1',function(){ jFocus('dialog_box_1'); }); } //end renameSelected // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // saveRename this.saveRename = function(elm){ if(typeof(elm) == 'string') { elm = xGetElementById(elm); } if (elm) { //check if data is empty var d = elm.value.trim(); if (d.length > 0){ //attempt to save rename AFB.saveRename(THEME.selectedType,THEME.selectedPath,d); THEME.hideDialog(); THEME.showMLoad(); } } } //end saveRename // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // returnRename this.returnRename = function(xml){ var u = xGetElementById('share_listing'); var s = xGetElementById(THEME.selected); var d = xml.getElementsByTagName('data')[0]; if(THEME.selectedType == 'dir'){ //dir var li = document.createElement('li'); li.className = 'dir'; li.id = xmlTag('unique',d); li.setAttribute('rel',xmlTag('fullpath',d)); li.setAttribute('name',xmlTag('name',d)); xInnerHtml(li,'

    '+xmlTag('name',d)+'

    '); THEME.addHoverEvents(li); u.insertBefore(li,s); s.parentNode.removeChild(s); }else if(THEME.selectedType=='file'){ //file var li = document.createElement('li'); li.className = 'file type_'+xmlTag('type',d); li.id = xmlTag('unique',d[i]); li.setAttribute('rel',xmlTag('fullpath',d)); li.setAttribute('name',xmlTag('name',d)); xInnerHtml(li,'

    '+xmlTag('name',d)+'

    '+xmlTag('type',d)+'

    '+xmlTag('size',d)+'

    '); THEME.addHoverEvents(li); u.insertBefore(li,s); s.parentNode.removeChild(s); } THEME.hideMLoad(); } //end returnRename // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showDialog this.showDialog = function(title,body,buttons,foot){ //fn not implemented if(title && body){ //show error bg var ae=document.createElement('div'); ae.id='app_error'; //set opacity YAHOO.util.Dom.setStyle(ae,'opacity',.7); //set dimensions. YAHOO.util.Dom.setStyle(ae,'width',YAHOO.util.Dom.getViewportWidth()+'px'); YAHOO.util.Dom.setStyle(ae,'height',YAHOO.util.Dom.getViewportHeight()+'px'); //show error text var et=document.createElement('div'); et.id='app_dialog_text'; //set opacity YAHOO.util.Dom.setStyle(et,'opacity',0); //set dimensions. YAHOO.util.Dom.setStyle(et,'left',((YAHOO.util.Dom.getViewportWidth() / 2) - 192)+'px'); YAHOO.util.Dom.setStyle(et,'top',(((YAHOO.util.Dom.getViewportHeight() / 2) - 20) * 0.8)+'px'); //p var h = '

    '+title+'

    '+body+'

    '; if(buttons){ h += '

    '+buttons+'

    '; } if(foot){ h+='

    '+foot+'

    '; } xInnerHtml(et,h); //apend! xGetElementById('body').appendChild(ae); xGetElementById('body').appendChild(et); //anim YAHOO.util.Event.onAvailable('app_dialog_text',function(){ var anim = new YAHOO.util.Anim('app_dialog_text',{opacity:{to:1}},.3,YAHOO.util.Easing.easeOut); anim.animate(); YAHOO.util.Event.addListener('app_error','click',THEME.hideDialog); }); } } //end showDialog // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideDialog this.hideDialog = function(e){ var anim = new YAHOO.util.Anim('app_dialog_text',{opacity:{to:0}},.3,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('app_error'); destroyElm('app_dialog_text'); }); anim.animate(); //stop any propegation. if (e){ THEME.discard(e); } } //end hideDialog // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // showUpload this.showUpload = function(e){ THEME.hideLogin(); THEME.hideShares(); THEME.hideFileOps(); THEME.hideViews(); //get file permissions for (var i=0;i

      '); //apend! xGetElementById('body').appendChild(ae); xGetElementById('body').appendChild(et); //on available, add upload boxs.. THEME.addUploadField(3); //anim YAHOO.util.Event.onAvailable('app_upload_box',function(){ var anim = new YAHOO.util.Anim('app_upload_box',{opacity:{to:1}},.3,YAHOO.util.Easing.easeOut); anim.animate(); //YAHOO.util.Event.addListener('app_upload_box','click',THEME.hideError); //YAHOO.util.Event.addListener('app_error','click',THEME.hideError); }); } if(e){ THEME.discard(e); } } //end showUpload // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // hideUpload this.hideUpload = function(e){ if (THEME.uploadStack < 1){ var anim = new YAHOO.util.Anim('app_upload_box',{opacity:{to:0}},.3,YAHOO.util.Easing.easeOut); anim.onComplete.subscribe(function(){ destroyElm('app_error'); destroyElm('app_upload_box'); }); anim.animate(); //refresh listing THEME.getDir(AFB.currentPath); //stop any propegation. if (e){ THEME.discard(e); } } } //end hideUpload // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // addUploadField this.addUploadField = function(amt){ if (!amt){ var amt = 1; } var ids = new Array(); if (xGetElementById('upload_ol')){ for (var i=0;i '); //add id to array for attachment ids[ids.length] = 'uploadFile_'+cnt; xGetElementById('upload_ol').appendChild(li); } //end i for //attach events if (ids.length > 0){ YAHOO.util.Event.onAvailable(ids[0],function(){ YAHOO.util.Event.addListener(ids,'change',THEME.uploadSubmit); }); } //end ids length check var anim = new YAHOO.util.Scroll('upload_ol_wrapper', { scroll: { to: [0, YAHOO.util.Dom.get('upload_ol_wrapper').scrollHeight] } }, 1, YAHOO.util.Easing.easeOut); anim.animate(); } //end ol check } //end addUploadField // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // uploadSubmit this.uploadSubmit = function(e){ var elm=e; if (!e.nodeName) { //was fired by yahoo elm = (e.srcElement) ? e.srcElement : e.target; } if (elm.nodeName.toLowerCase() != 'input'){ elm = searchUp(elm,'input'); } if(elm.type!='file'){ return; } //cehck vlaue length if (elm.value == '') { return; } //get number var num = elm.getAttribute('rel'); if (parseInt(num) == 0){ return; } //get li var li = searchUp(elm,'li'); //check that the file hasn't already been uploaded in this instance for(var i=0;i'); li.appendChild(p); //submit form via AFB class THEME.uploadStack++; xGetElementById('upload_close_btn').disabled = true; AFB.uploadForm(elm.form,num,getFileName(elm.value)); //disable input elm.blur(); elm.disabled = 'true'; } //end uploadSubmit // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // uploadReturn this.uploadReturn = function(frm,num,file,res){ //display a different message. var p = xGetElementById('uploadNotify_'+num); if(p){ if (res) { //success p.className = 'uploadNotify_done'; xInnerHtml(p,'
      '+file+''); } else { //failed p.className = 'uploadNotify_failed'; xInnerHtml(p,'
      '+file+''); } } //add another upload box. THEME.addUploadField(); THEME.uploadStack--; if (THEME.uploadStack < 1){ xGetElementById('upload_close_btn').disabled = false; } } //end uploadReturn // ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // loadThumbnails this.loadThumbnails = function(){ //this function loads thumbnails only when the thumbnails view has been selected. var destr = new Array(); //get all p's on the page. var ps = xmlTags('p',document); for(var i=0;i